iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
自我挑戰組

簡介密碼學系列 第 20

Day20- Man-in-the-middle

  • 分享至 

  • xImage
  •  

非對稱加密最常見的問題

說到非對稱加密最常見的攻擊,不外乎就是中間人攻擊(英語:Man-in-the-middle attack,縮寫:MITM)
所謂的中間人攻擊並不是直接去攻擊加密演算法本身的弱點或不安全的使用,
而是透過網路上一個非常常見的問題,身分問題
有打過線上遊戲的都清楚,難免會在網路上跟別人吵架(FF15)
但吵了老半天,卻始終不知道彼此的真實身分
而在網路上進行非對稱式加密時也會遇到一樣的問題,
這個Bob真的是Alice要找的Bob嗎?
基於這樣的問題,中間人攻擊就此誕生了

如何運作的

顧名思義,中間人就是在兩方進行加密傳輸時卡在兩人中間的存在
舉例來說:
Alice要傳訊息給Bob
而中間人Mallory就假冒Bob和Alice相認
再假冒Alice和Bob相認
Alice和Bob都以為在跟隊的彼此溝通
但其實他們都在和Eve溝通
而Mallory就能透過非對稱式加密(或金鑰交換)的特點
來破解兩人的秘密通訊

大概步驟

https://ithelp.ithome.com.tw/upload/images/20220921/20151821njAQRp2Bey.png

  • Alice選擇生成原g和質數p,都為公開所以Mallory也知道
  • Alice選擇私鑰a並計算A=g^a mod p
  • 送出去給**假Bob(Mallory)**也可能被中途攔截
  • Mallory拿到A後就先藏好
  • 接者Mallory選擇自己的私鑰m
  • 計算M=g^m mod p
  • 把M丟給Bob
  • Bob選擇私鑰b並計算B=g^b mod p
  • Bob把B給假Alice(Mallory)
  • Mallory再把M給Alice
  • Alice跟Bob就會計算共享金鑰key1=M^a mod p 和 key2=M^b mod p
  • Alice用key1加密後給Mallory
  • Mallory也能計算key1=A^m mod p,並用來解密
  • 解密完後再計算key2=B^m mod p,來加密後給Bob
  • Bob收到後也能用key2解密,所以不會引起懷疑
  • 相對的,對Alice也有效

如何避免

很簡單,就是在傳送訊息前先認證對方的身分
而認證的方法很多,最常見的就是數位憑證
以後有機會在簡介何謂數位憑證


上一篇
Day19- ElGamal加密算法
下一篇
Day21- 橢圓曲線
系列文
簡介密碼學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言